/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.stv.kucera_tomas_sen.auto;

import cz.stv.pecinovsky.správceplátna.*;
import cz.stv.pecinovsky.utility.*;

/**
 *
 * @author tomik
 */
public class PoleCesty implements IKreslený{
    
    private Obdélník ob;
    private Pozice pozice ;
    private static int modul;
    private static Barva barva;
    private PoleCesty dalsi;
    private PoleCesty predchozi;
    private Směr8 smer;

    public PoleCesty(Pozice pozice, int modul, Barva barva, Směr8 smer) {
        this.pozice = pozice;
        this.modul = modul;
        this.barva = barva;
        this.smer = smer;
        ob = new Obdélník( pozice, new Rozměr( modul, modul), barva);
        ob.nakresli();
    }

    public PoleCesty(PoleCesty predchozi, Směr8 smer) {
        this.predchozi = predchozi;
        this.smer = smer;
        //this.setBarva( predchozi.getBarva());
        predchozi.setDalsi( this);
        pozice = predchozi.getSmer().dalšíPozice( predchozi.getPozice(), modul);
        ob = new Obdélník( pozice, new Rozměr( modul, modul), barva);
        ob.nakresli();
    }

    public PoleCesty(PoleCesty predchozi, PoleCesty dalsi) {
        dalsi.predchozi = this;
        predchozi.dalsi = this;
        this.dalsi = dalsi;
        this.predchozi = predchozi;
        pozice = predchozi.getSmer().dalšíPozice( predchozi.getPozice(), modul);
        //this.setBarva( predchozi.getBarva());
        ob = new Obdélník( pozice, new Rozměr( modul, modul), barva);
        ob.nakresli();
    }

    public Barva getBarva() {
        return barva;
    }

    public void setBarva(Barva barva) {
        this.barva = barva;
    }

    public int getModul() {
        return modul;
    }

    public void setModul(int modulP) {
        modul = modulP;
    }

    public Pozice getPozice() {
        return pozice;
    }

    public void setPozice(Pozice pozice) {
        this.pozice = pozice;
    }

    public Směr8 getSmer() {
        return smer;
    }

    public void setSmer(Směr8 smer) {
        this.smer = smer;
    }

    public PoleCesty getDalsi() {
        return dalsi;
    }

    public void setDalsi(PoleCesty dalsi) {
        this.dalsi = dalsi;
    }

    public PoleCesty getPredchozi() {
        return predchozi;
    }

    public void setPredchozi(PoleCesty predchozi) {
        this.predchozi = predchozi;
    }

    public void nakresli(Kreslítko kreslítko)
    {
        ob.nakresli( kreslítko);
    }
    
    

    
}

